package com.realife.eson.common.util.jwt.bak;//package com.bocloud.paas.eaas.common.handler;
//
//import com.bocloud.paas.eaas.common.constant.SecurityConstant;
//import io.jsonwebtoken.*;
//import org.springframework.util.StringUtils;
//
//import java.security.PrivateKey;
//import java.security.PublicKey;
//import java.util.Date;
//
//public class JwtHelper {
//
//    private static long tokenExpiration = 24 * 60 * 60 * 1000;
//
//
//    public static String createToken(Long userId, String userName, PrivateKey privateKey) {
//        return Jwts.builder()
//                .setSubject("PAAS-USER")
//                .setExpiration(new Date(System.currentTimeMillis() + tokenExpiration))
//                .claim("userId", userId)
//                .claim("userName", userName)
////                    .signWith(SignatureAlgorithm.HS512, tokenSignKey)
//                .signWith(privateKey, SignatureAlgorithm.RS256)
//                .compressWith(CompressionCodecs.GZIP)
//                .compact();
//    }
//
//    public static Long getUserId(String token, PublicKey publicKey) {
//        if (StringUtils.isEmpty(token)) return null;
//
//        Jws<Claims> claimsJws = Jwts.parser().setSigningKey(publicKey).parseClaimsJws(token);
//        Claims claims = claimsJws.getBody();
//        //获取目标返回
//        Integer userId = (Integer) claims.get("userId");
//        return userId.longValue();
//    }
//
//    public static String getUserName(String token, PublicKey publicKey) {
//        if (StringUtils.isEmpty(token)) return "";
//        //
//        Jws<Claims> claimsJws = Jwts.parser().setSigningKey(publicKey).parseClaimsJws(token);
//        Claims claims = claimsJws.getBody();
//        return (String) claims.get("userName");
//    }
//
//    public static void removeToken(String token) {
//        //jwttoken无需删除，客户端扔掉即可。
//    }
//
//    public static void main(String[] args) throws Exception {
//        String token = JwtHelper.createToken(2L, "admin", RsaUtils.getPrivateKey(SecurityConstant.privateFilePath));
//        System.out.println(token);
//
//        //
//        PublicKey publicKey = RsaUtils.getPublicKey(SecurityConstant.publicFilePath);
//        System.out.println(JwtHelper.getUserId(token, publicKey));
//        System.out.println(JwtHelper.getUserName(token, publicKey));
//    }
//}
//
